From: Jasper St. Pierre Date: Fri, 11 Oct 2013 17:59:19 +0000 (-0400) Subject: messageTray: Clean up code that determines if something is clearable X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~3208 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=da14e2c349507ff96e2f4a69916be36a96cc478a;p=gnome-shell.git messageTray: Clean up code that determines if something is clearable https://bugzilla.gnome.org/show_bug.cgi?id=710115 --- diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index d75a5a94d..9e5ddadad 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -1211,6 +1211,10 @@ const Source = new Lang.Class({ return this.count > 1; }, + get isClearable() { + return !this.trayIcon && !this.isChat && !this.resident; + }, + countUpdated: function() { this.emit('count-updated'); }, @@ -1540,22 +1544,14 @@ const MessageTrayMenu = new Lang.Class({ this.addMenuItem(separator); this._clearItem = this.addAction(_("Clear Messages"), function() { - let toDestroy = []; - let sources = tray.getSources(); - for (let i = 0; i < sources.length; i++) { - // We exclude trayIcons, chat and resident sources - if (sources[i].trayIcon || - sources[i].isChat || - sources[i].resident) - continue; - toDestroy.push(sources[i]); - } + let toDestroy = tray.getSources().filter(function(source) { + return source.isClearable; + }) - for (let i = 0; i < toDestroy.length; i++) { - toDestroy[i].destroy(); - } + toDestroy.forEach(function(source) { + source.destroy(); + }); - toDestroy = null; tray.close(); }); @@ -1989,7 +1985,7 @@ const MessageTray = new Lang.Class({ this._summary.insert_child_at_index(summaryItem.actor, this._chatSummaryItemsCount); } - if (!source.trayIcon && !source.isChat && !source.resident) + if (source.isClearable) this.clearableCount++; this._sources.set(source, obj); @@ -2033,7 +2029,7 @@ const MessageTray = new Lang.Class({ if (source.isChat) this._chatSummaryItemsCount--; - if (!source.trayIcon && !source.isChat && !source.resident) + if (source.isClearable) this.clearableCount--; source.disconnect(obj.notifyId);